Organiser les données et mesurer la quantité d’information

Marie-Pierre Etienne

ENSAI - CREST

https://marieetienne.github.io/MAF/

2025-10-09

Les données

Mise en forme des données

Toutes les méthodes d’analyse factorielle organise les données dans un tableau composé de n individus (lignes) et de p colonnes (colonnes).

Une ligne regroupe toutes les caractéristiques d’un individu.

  • Si une caractéristique est quantitative, alors on note dans une colonne la valeur mesurée sur l’individu.
  • Si une caractéristique est qualitative, alors on utilise classiquement la représentation one hot encoding, qui consiste à représenter cette caractéristique qualitative sur autant de colonnes que de modalités et attribuer un \(1\) dans la colonne correspondant à la modalité de l’individu et 0 aux autres.

Données disponibles dans le package palmerpenguins mises à disposition par le Dr. Kristen Gorman et the Palmer Station, Antarctica LTER.

On a mesuré les caractéristiques morphologiques de divers manchots :

Les 3 premières lignes (parmi 333 )

# A tibble: 3 × 8
  species island    bill_length_mm bill_depth_mm flipper_length_mm body_mass_g
  <fct>   <fct>              <dbl>         <dbl>             <int>       <int>
1 Adelie  Torgersen           39.1          18.7               181        3750
2 Adelie  Torgersen           39.5          17.4               186        3800
3 Adelie  Torgersen           40.3          18                 195        3250
# ℹ 2 more variables: sex <fct>, year <fct>
  • species : 3 espèces possibles (Adelie, Chinstrap, Gentoo)

  • island : l’île sur laquelle le mancho a été observé (Biscoe, Dream, Torgersen)

  • bill_length_mm : la longueur du bec,

  • bill_depth_mm : l’épaisseur du bec,

  • flipper_length_mm : la longueur de la nageoire,

  • body_mass_g : le poids du corps.

  • sex : le sexe du manchot (male,female)

  • year : l’année de l’observation

Mise en forme des données

Dans la suite on va noter \({\boldsymbol{X}}\) la matrice des données, \({\boldsymbol{X}}\in {\mathbb{R}}^{n\times p}\).

\(x_{\class{alea}{i}\class{orange}{j}}\) est la valeur de la variable \(\class{orange}{j}\) mesurée pour l’individu \(\class{alea}{i}.\)

\[{\boldsymbol{X}}= \overset{\color{orange}{\begin{matrix}var_1& \ldots \ & \ \ldots \ &\ \ldots\ & \ var_p \end{matrix}}}{\begin{pmatrix} x_{\class{alea}{1}}^{\class{orange}{1}} & \ldots & \ldots &\ldots & x_{\class{alea}{1}}^{\class{orange}{p}}\\ \vdots & & & &\vdots \\ & & x_{\class{alea}{i}}^{\class{orange}{j}} & & \\ \vdots & & & & \vdots \\ x_{\class{alea}{n}}^{\class{orange}{1}} & & & & \ldots x_{\class{alea}{n}}^{\class{orange}{p}}\\ \end{pmatrix}}\]

Ecrire les 2 premières lignes de \({\boldsymbol{X}}\) pour l’exemple des manchots

Comment visualiser au mieux ces données pour faire apparaître les liens entre variables et identifier des resemblances entre individus ?

Voir c’est comprendre : comment représenter l’information contenue dans ce tableau ?

Idée 1 : on représente les liens des variables 2 à 2 – Focus sur les données quantitatives

Voir c’est comprendre : comment représenter l’information contenue dans ce tableau ?

Idée 1 : dangereuse

Voir c’est comprendre : comment représenter l’information contenue dans ce tableau ?

Objectifs

  • Quantifier la perte d’information,

Pour ensuite

  • Représenter sans perdre trop d’information,
  • Comprendre quelles sont les informations redondantes (variables liées),
  • Idéalement des individus éloignés dans le nuage initial, restent éloignés dans la représentation

Contexte

On commence par le cas où toutes les variables sont quantitatives

Deux points de vue complémentaires

Le nuage des individus \(C^n\)

On peut considérer qu’un individu \(i\) est un vecteur \(\class{alea}{\boldsymbol{x}_{i}}\) dans un espace de dimension \(p\). Par convention tous les vecteurs sont des vecteurs colonnes, donc on peut écrire

\[{\boldsymbol{X}}=\begin{pmatrix} \class{alea}{\boldsymbol{x}_{1}}^\top\\ \vdots \\ \class{alea}{\boldsymbol{x}_{n}}^\top\\ \end{pmatrix},\]

L’ensemble des \(n\) vecteurs forme le nuage des individus (ce qu’on représente classiquement).

Le nuage des variables \(C^p\)

On peut considérer qu’une variable \(j\) est un vecteur \(\class{orange}{\boldsymbol{x}^{j}}\) dans un espace de dimension \(n\) et on peut écrire

\[{\boldsymbol{X}}=\begin{pmatrix} \class{orange}{\boldsymbol{x}^{1}} & \ldots & \class{orange}{\boldsymbol{x}^{p}} \end{pmatrix},\]

L’ensemble des \(p\) vecteurs forme le nuage des variables.

Bien sûr les deux nuages sont intimement liés

Mesurer l’information contenue dans un nuage de points

L’inertie par rapport à un point

Definition 1

L’inertie par rapport à un point \(a \in {\mathbb{R}}^{p}\) est définie par
\[I_{\boldsymbol{a}} = \frac{1}{n} \sum_{i=1}^n \lVert\boldsymbol{x}_{i} - \boldsymbol{a}\rVert^2 = \frac{1}{n} \sum_{i=1}^n\sum_{k=1}^p (x_i^k -a^k)^2\]

L’inertie par rapport à un point quantifie l’information perdue lorsque le jeu de données est résumé par ce point.

Quel est selon vous le point \(\boldsymbol{a}\) qui minimise l’inertie ?

\[argmin_{\boldsymbol{a}} I_{\boldsymbol{a}} = ??\]

BINGO !!!

Il s’agit du point \(\boldsymbol{g}=\boldsymbol{x_{\bullet}}=({x}_{\bullet}^1, \ldots, {x}_{\bullet}^p )^\top,\) avec \({x}_{\bullet}^k=\frac{1}{n} \sum_{i=1}^n x_{i}^k\), la valeur moyenne de la variable \(k\) sur l’ensemble des individus.

Puisque nous avons supposé que nos variables étaient centrées, \(G=O\) l’origine sur repère.

\[\forall \boldsymbol{a}\in\mathbb{R}^p,\; I_\boldsymbol{a}=I_\boldsymbol{g} + \lVert\boldsymbol{a}- \boldsymbol{g}\rVert^2.\]

L’inertie par rapport à un point

Definition 2

L’inertie du nuage de points représentés par \({\boldsymbol{X}}\) est l’inertie par rapport à son baycentre \[I = \frac{1}{n} \sum_{i=1}^n \lVert\boldsymbol{x}_{i} - {g}\rVert^2 = \frac{1}{n} \sum_{i=1}^n\sum_{k=1}^p (x_i^k -\bar{x}^k)^2\]

Conséquence

Le meilleur résumé du nuage de points à un unique point est le barycentre du nuage de points, c’est à dire la moyenne sur chacune des dimensions.

La quantité d’information perdue lors de ce résumé est \(I\)

Remarque

\[ I = \frac{1}{n} \sum_{i=1}^n \left( \sum_{k=1}^p \left( x_{i}^k - x_{\bullet}^k \right)^2 \right) = \sum_{k=1}^p \left( \frac{1}{n} \sum_{i=1}^n \left( x_{i}^k - x_{\bullet}^k \right)^2 \right) = \sum_{k=1}^p Var(\boldsymbol{x}^{k})\] Si les variables sont réduites, i.e de norme 1

\[I = p\]

L’inertie par rapport à un axe

Definition 2

L’inertie par rapport à l’axe \(\Delta\) est définie par

\[I_{\boldsymbol{\Delta}} = \frac{1}{n} \sum_{i=1}^n \lVert\boldsymbol{x}_{i} - \boldsymbol{p_i}^{\Delta}\rVert^2 = \frac{1}{n} \sum_{i=1}^n\sum_{k=1}^p (x_i^k -p^{k,\Delta}_i)^2, \quad \mbox{où }\ \boldsymbol{p_i}^{\Delta} \mbox{projeté orthogonal de } \boldsymbol{x_i} \mbox{ sur }\Delta.\]

{Rajouter un exemple avec des projections sur les axes de départ}[.rouge]

L’inertie par rapport à l’axe \(\Delta\) quantifie l’information perdue lorsque l’on résume le nuage de points à son projeté sur \(\Delta\).

Identifier \(\Delta\) tel que \(I_{\Delta}\) soit minimale

Ce qui revient à l’axe \(\Delta\) qui assure que la projection sur \(\Delta\) déforme le moins possible le nuage de points.

Dans le cadre de l’ACP, on veut construire une ensemble d’axes orthogonaux (une nouvelle base de \({\mathbb{R}}^p\)), de façon à ce que

  • la projection sur le premier axe, soit le meilleur résumé du nuage de points en une dimension,
  • le deuxième axe est orthogonal au premier et représente “le deuxième meileur choix” …. dans un sens que l’on va définir
  • le troisième …

  • Produit scalaire : Soient deux élements \(\boldsymbol{x}\) et \(\boldsymbol{y}\) de \(\mathbb{R}^p\), le produit scalaire est noté \(<\boldsymbol{x},\boldsymbol{y}>\) et \(<\boldsymbol{x},\boldsymbol{y}>=\sum_{i=1}^p x_i y_i = \boldsymbol{x}^\top \boldsymbol{y}.\)

  • Orthogonalité Soient deux élements \(\boldsymbol{x}\) et \(\boldsymbol{y}\) de \(\mathbb{R}^p\), on dit que \(\boldsymbol{x}\) et \(\boldsymbol{y}\) sont orthogonaux (noté \(\boldsymbol{x}\perp \boldsymbol{y}\)) si \(<\boldsymbol{x},\boldsymbol{y}> = \boldsymbol{x}^\top \boldsymbol{y}=0\).

  • Projection orthogonale On note \(\boldsymbol{a}_u\) le projeté de \(\boldsymbol{a}\) sur la droite \(\Delta\) définit par son vecteur directeur unitaire \(\boldsymbol{u}\) et passant par l’origine \[\boldsymbol{a}_u = < \boldsymbol{a}, \boldsymbol{u} > \boldsymbol{u} = (\boldsymbol{a}^\top \boldsymbol{u})\, \boldsymbol{u}.\] Le vecteur \(\boldsymbol{a_u}\) est orthogonal à \(\boldsymbol{a}-\boldsymbol{a_u}\): \[< \boldsymbol{a_u}, \boldsymbol{a}-\boldsymbol{a_u}> = \left ((\boldsymbol{a}^\top \boldsymbol{u}) \boldsymbol{u}\right)^\top \left ( \boldsymbol{a} - (\boldsymbol{a}^\top \boldsymbol{u})\, \boldsymbol{u} \right)=(\boldsymbol{a}^\top \boldsymbol{u}) (\boldsymbol{u}^\top \boldsymbol{a}) - (\boldsymbol{a}^\top \boldsymbol{u})^2 \boldsymbol{u}^\top \boldsymbol{u} =0 \]

L’inertie par rapport à un sous espace affine

  • Espace orthogonal Soit \(E\) un sous-espace vectoriel de \(\mathbb{R}^p\). On definit \(E^\perp=\{\boldsymbol{x}\in \mathbb{R}^p:\; \forall \boldsymbol{y}\in E,\; \boldsymbol{x}\perp \boldsymbol{y}\}\).

Dans \({\mathbb{R}}^2\), on considère le sous espace vectoriel \(E\), tel que \[ E =\left \lbrace \boldsymbol{x}=\begin{pmatrix} x_1 & x_2 \end{pmatrix}^\top \in {\mathbb{R}}^2 : x_1 = x_2 \right \rbrace \] \(E\) est la droite d’équation \(y=x\).

Qui est \(E^\perp\) ?

Soit \(\boldsymbol{y}\in E^\perp,\) alors

\[\begin{align} 0 & = \boldsymbol{x}^\top \boldsymbol{y}\\ & = \begin{pmatrix} x_1 & x_2 \end{pmatrix} \begin{pmatrix} y_1 \\ y_2 \end{pmatrix}\\ & = x_1 y_1 + x_2 y_2 \\ & = x_1 (y_1 + y_2) \quad (\boldsymbol{x}\in E \Rightarrow x_1 =x_2) \\ \end{align}\]

\[E^\perp = \left \lbrace \boldsymbol{y}=\begin{pmatrix} y_1 & y_2 \end{pmatrix}^\top \in {\mathbb{R}}^2 : y_1 + y_2 = 0 \right \rbrace \]

Definition 3

L’inertie par rapport à un sous espace vectoriel \(E\) est définie par \[I_{E} = \frac{1}{n} \sum_{i=1}^n \lVert\boldsymbol{x}_{i} - \boldsymbol{p_i}^{E}\rVert^2 = \frac{1}{n} \sum_{i=1}^n\sum_{k=1}^p (x_i^k -p^{k,E}_i)^2, \quad \mbox{où }\ \boldsymbol{p_i}^{E} = argmin_{\boldsymbol{y}\in E} d(\boldsymbol{y}, \boldsymbol{x}_{i}), \mbox{i.e. projeté orthogonal de } \boldsymbol{x_i} \mbox{ sur }E.\]

C’est l’inertie perdue lorsque l’on résume le nuage de points à sa projection sur le sous espace \(E\).

Décomposition de l’inertie

Soit \(E\) un sous espace vectoriel de \({\mathbb{R}}^p\), alors \[I = I_E + I_{E^\perp}.\]

Preuve

Un dessin vaut mieux qu’un long discours et Pythagore est ton ami !

\[d(\class{alea}{\boldsymbol{x}_{i}}, O)^2 = d(\boldsymbol{x}_{i}, \class{bleu}{\boldsymbol{x}_{i}^E})^2 + d(\class{alea}{\boldsymbol{x}_{i}}, \class{rouge}{\boldsymbol{x}_{i}^{E^\perp}})^2.\]

\[\begin{align} I & = \frac{1}{n} \sum_{i=1}^n d(\class{alea}{\boldsymbol{x}_{i}}, O)^2 \\ & = \frac{1}{n} \sum_{i=1}^n d(\class{alea}{\boldsymbol{x}_{i}}, \class{bleu}{\boldsymbol{x}_{i}^E})^2 + \frac{1}{n} \sum_{i=1}^n d(\class{alea}{\boldsymbol{x}_{i}}, \class{rouge}{\boldsymbol{x}_{i}^{E^\perp}})^2 \\ & = \class{bleu}{I_E} + \class{rouge}{I_{E^\perp}} \end{align}\]

Principe de la décomposition à venir

  1. Identifier le vecteur \(\boldsymbol{u_1}\) de \({\mathbb{R}}^p\), tel que \(I_{E_1}\) soit minimale avec \(E_1=\left \lbrace \lambda \boldsymbol{u_1}, \lambda \in {\mathbb{R}}\right\rbrace,\)

  2. Dans \(E_1^\perp\), identifier le vecteur \(\boldsymbol{u_2}\) de \({\mathbb{R}}^p\), tel que \(I_{E_2}\) soit minimale avec \(E_2=\left \lbrace \lambda \boldsymbol{u_2}, \lambda \in {\mathbb{R}}\right\rbrace,\)

  3. Dans \(\left ( E_1 \oplus E_2 \right)^\perp\), identifier le vecteur \(\boldsymbol{u_3}\) de \({\mathbb{R}}^p\), tel que ….

Finalement on aura la décomposition

\[I= I_{E_1} + I_{E_2} + \ldots + I_{E_p}, \quad \mbox{avec } I_{E_1} \leq I_{E_2} \leq \ldots \leq I_{E_p}\]